package com.lee.pullrefresh;

import java.text.SimpleDateFormat;
import java.util.Date;

import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import com.lee.pullrefresh.ui.PullToRefreshBase;
import com.lee.pullrefresh.ui.PullToRefreshBase.OnRefreshListener;
import com.lee.pullrefresh.ui.PullToRefreshWebView;

/**
 * 
 * <p>
 * 包名:com.lee.pullrefresh
 * </p>
 * <p>
 * 项目名:PullRefreshDemo
 * </p>
 * <p>
 * 类名:PullRefreshWebViewActivity.java
 * </p>
 * <p>
 * 吼吼手机客户端
 * </p>
 * <p>
 * 功能说明：TODO
 * </p>
 * 
 * @author yangle
 * @create 2014年7月31日 下午5:09:30 发布
 * @version 1.0
 */
public class PullRefreshWebViewActivity extends Activity {

	private WebView mWebView;
	private PullToRefreshWebView mPullWebView;
	private SimpleDateFormat mDateFormat = new SimpleDateFormat("MM-dd HH:mm");

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);

		setContentView(R.layout.pull_refresh_webview);
		// 初始化自定义控件
		mPullWebView = (PullToRefreshWebView) findViewById(R.id.pull_webview);// new
																				// PullToRefreshWebView(this);
		// 设置上下拉加载事件监听器
		mPullWebView.setOnRefreshListener(new OnRefreshListener<WebView>() {

			@Override
			public void onPullDownToRefresh(PullToRefreshBase<WebView> refreshView) {
				loadUrl();
			}

			@Override
			public void onPullUpToRefresh(PullToRefreshBase<WebView> refreshView) {

			}
		});
		// 获得WebView空间
		mWebView = mPullWebView.getRefreshableView();
		// WebView控件的设置
		mWebView.setWebViewClient(new WebViewClient() {
			// 判断WebView是否在当前打开新的连接
			public boolean shouldOverrideUrlLoading(WebView view, String url) {
				return false;
			}

			// WebView加载url结束后调用方法
			public void onPageFinished(WebView view, String url) {
				// 回滚取消加载等待框
				mPullWebView.onPullDownRefreshComplete();
				// 更新刷新时间
				setLastUpdateTime();
			}
		});
		// 调用web加载url方法
		loadUrl();
		// 更新加载时间
		setLastUpdateTime();
	}

	/**
	 * 功能说明：时间获得方法
	 * <p>
	 * 方法名：setLastUpdateTime
	 * </p>
	 */
	private void setLastUpdateTime() {
		String text = formatDateTime(System.currentTimeMillis());
		mPullWebView.setLastUpdatedLabel(text);
	}

	private String formatDateTime(long time) {
		if (0 == time) {
			return "";
		}

		return mDateFormat.format(new Date(time));
	}

	int mIndex = 0;

	// web加载url方法
	private void loadUrl() {

		int length = sUrls.length;
		mIndex = mIndex % length;
		String url = sUrls[mIndex];
		mIndex++;
		mWebView.loadUrl(url);
	}

	// 模拟url地址池
	private static final String[] sUrls = {
			// "file:///android_asset/html/test.html",
			"http://www.baidu.com", "http://www.google.com", "http://www.163.com",
	// "http://www.sina.com.cn",
	// "http://www.sohu.com"
	};
}
